#include <iostream>
#include"CString.h"


template<class T>//模版 T 是一个未知的类型，
T sum(T w1,T w2)//称为模版函数
{
    return w1+w2;
}

template <class T>
class CMath//模板类，有一个未知类型T
{
private:
public:
    T sum(T x , T y);//模版函数声明
};

template<class T>//模版
T CMath<T>::sum(T x, T y)//模版类函数定义
{
    return x+y;
} 

int main()
{
    CMath<int> m1;
    cout<<m1.sum(10,10)<<endl;
    CMath<float> m2;
    cout<<m2.sum(10.1f,10)<<endl;
    CMath<CString> m3;
    CString str = m3.sum("10.1f","10");
    cout<<str<<endl;
    return 0;
}